package xxl.robotlegs.extensions.localsignalmap.api 
{
	import xxl.signals.api.IMapSignal;
	import xxl.signals.api.ISignal;
	import xxl.signals.api.ISlot;
	
	/**
	 * ...
	 * @author XXL
	 */
	public interface ISignalMap 
	{
		function mapListener(signal:ISignal, listener:Function, once:Boolean = false):ISlot;
		function unmapListener(signal:ISignal, listener:Function):ISlot;
		function mapListenerWithKey(signal:IMapSignal, key:Object, listener:Function, once:Boolean = false):ISlot;
		function unmapListenerWithKey(signal:IMapSignal, key:Object, listener:Function):ISlot;
		function unmapListeners():void;
		function suspend():void;
		function resume():void;
	}
	
}